package com.kfm.ex;

public class Demo03 {

    public static void main(String[] args) {
        int i = 1;
        int j = 1;
        // ArithmeticException
        // 1. 处理异常 把可能出现异常的代码放在 try 块中 catch(异常类型) 异常类型一定是 代码块中可能产生的异常，或者是该异常的父类
        try {
            // 每个人的起床时间
            System.out.println(i / j);
            System.out.println("try 块其他的代码");
            // System.out.println(Integer.valueOf("abc"));
            System.exit(1);  // 关闭 JVM 虚拟机
            return;
        } catch (ArithmeticException e) { // Exception 将异常信息封装到 e 对象中
            // 将错误信息打印到控制台
            e.printStackTrace(); // 讲异常产生的所有信息全部打印
            // 获取错误产生的信息
            System.out.println(e.getMessage());
            return;
        } finally {
            System.out.println("现在是2024年了");
        }
        // System.out.println("明年是2025年了");
        // try {可能发生异常的代码块} catch(异常类型 e) {异常情况如何处理} finally{代码块}
        // try没有发生异常，执行try块，执行finally
        // try 发生异常 catch捕获执行catch语句 然后执行finally
        // try 发生异常 catch没有捕获到，try剩下的代码不会被执行 执行finally
        // try 不能单独出现 必须和 catch/finally 两者至少其一
        // try {}
    }
}
